package com.it.system.domain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Data;
import io.swagger.annotations.ApiModelProperty;

/**
 * Tb Employee表
 * @TableName tb_employee
 */
@Data
public class Employee implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    private Long id;

    @ApiModelProperty("账号")
    private String username;

    @ApiModelProperty("电话")
    private String phone;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("盐值")
    private String salt;

    @ApiModelProperty("密码")
    private String password;

    @ApiModelProperty("年龄")
    private Integer age;

    @ApiModelProperty("员工状态 - 1启用，0禁用")
    private Integer state;

    @ApiModelProperty("登录信息Id")
    private Long logininfoId;

    /**
     * 保存当前员工的角色信息 - 用于列表数据展示和回显。如果列表中不用显示角色名称，其实可以不要此属性，直接用roles即可
     */
    private List<Role> dbRoles = new ArrayList<>();
    /**
     * 接收前端添加和修改时选择的角色信息：一个员工可以选多个角色 - 用于接收对话框提交的角色数据
     */
    private List<Long> roles = new ArrayList<>();
}